package com.quanxiaoha.weblog.web.service;

import com.quanxiaoha.weblog.common.utils.Response;
import com.quanxiaoha.weblog.web.model.vo.favorite.AddFavoriteReqVO;
import com.quanxiaoha.weblog.web.model.vo.favorite.FindFavoriteListReqVO;
import com.quanxiaoha.weblog.web.model.vo.favorite.RemoveFavoriteReqVO;

/**
 * 收藏服务
 */
public interface FavoriteService {

    /**
     * 添加收藏
     * @param addFavoriteReqVO
     * @return
     */
    Response<?> addFavorite(AddFavoriteReqVO addFavoriteReqVO);

    /**
     * 取消收藏
     * @param removeFavoriteReqVO
     * @return
     */
    Response<?> removeFavorite(RemoveFavoriteReqVO removeFavoriteReqVO);

    /**
     * 获取收藏列表
     * @param findFavoriteListReqVO
     * @return
     */
    Response<?> findFavoriteList(FindFavoriteListReqVO findFavoriteListReqVO);

    /**
     * 检查是否已收藏
     * @param articleId 文章ID
     * @param sessionId 会话ID（用于匿名用户）
     * @param type 类型：1-喜欢 2-收藏
     * @return
     */
    Response<?> checkFavoriteStatus(Long articleId, String sessionId, Integer type);
}
